package com.qf.contract.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@ApiModel(description = "f_contract")
@Data
@TableName(value = "f_contract")
public class FContract {
    public static final String COL_CONTRACT_ID = "contract_id";
    public static final String COL_CONTRACT_NAME = "contract_name";
    public static final String COL_CONTRACT_NUMBER = "contract_number";
    public static final String COL_CONTRACT_AMOUNT = "contract_amount";
    public static final String COL_TYPE_OF_CONTRACT = "type_of_contract";
    public static final String COL_CONTRACT_SIGNING_DATE = "contract_signing_date";
    public static final String COL_CONTRACT_STOP_DATE = "contract_stop_date";
    public static final String COL_CONTRACT_SIGNING_DEPARTMENT = "contract_signing_department";
    public static final String COL_APPLICANT = "applicant";
    public static final String COL_APPENDICES_OF_A_CONTRACT = "appendices_of_a_contract";
    public static final String COL_NOTES = "notes";
    public static final String COL_SIGNING_UNIT = "signing_unit";
    public static final String COL_CONTRACT_DETAILS = "contract_details";
    public static final String COL_CURRENT_LINK = "current_link";
    public static final String COL_CONTRACT_STATUS = "contract_status";
    /**
     * 合同id主键
     */
    @TableId(value = "contract_id", type = IdType.INPUT)
    @ApiModelProperty(value = "合同id主键")
    private Integer contractId;
    /**
     * 合同名称
     */
    @TableField(value = "contract_name")
    @ApiModelProperty(value = "合同名称")
    private String contractName;
    /**
     * 合同编号
     */
    @TableField(value = "contract_number")
    @ApiModelProperty(value = "合同编号")
    private String contractNumber;
    /**
     * 合同金额
     */
    @TableField(value = "contract_amount")
    @ApiModelProperty(value = "合同金额")
    private Integer contractAmount;
    /**
     * 合同类型外键type_of_contract
     */
    @TableField(value = "type_of_contract")
    @ApiModelProperty(value = "合同类型外键type_of_contract")
    private Integer typeOfContract;
    /**
     * 合同开始日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "contract_signing_date")
    @ApiModelProperty(value = "合同开始日期")
    private Date contractSigningDate;
    /**
     * 合同结束日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "contract_stop_date")
    @ApiModelProperty(value = "合同结束日期")
    private Date contractStopDate;
    /**
     * 合同签订部门 默认人事
     */
    @TableField(value = "contract_signing_department")
    @ApiModelProperty(value = "合同签订部门 默认人事")
    private Integer contractSigningDepartment;
    /**
     * 申请人
     */
    @TableField(value = "applicant")
    @ApiModelProperty(value = "申请人")
    private String applicant;
    /**
     * 合同附件
     */
    @TableField(value = "appendices_of_a_contract")
    @ApiModelProperty(value = "合同附件")
    private String appendicesOfAContract;
    /**
     * 备注
     */
    @TableField(value = "notes")
    @ApiModelProperty(value = "备注")
    private String notes;
    /**
     * 签订单位 外键f_signing_unit
     */
    @TableField(value = "signing_unit")
    @ApiModelProperty(value = "签订单位 外键f_signing_unit")
    private Integer signingUnit;
    /**
     * 合同明细 外键f_contract_details
     */
    @TableField(value = "contract_details")
    @ApiModelProperty(value = "合同明细 外键f_contract_details")
    private Integer contractDetails;
    /**
     * 0代表拟稿，1代表直属领导审核，2代表分管领导审核，3代表办结
     */
    @TableField(value = "current_link")
    @ApiModelProperty(value = "0代表拟稿，1代表直属领导审核，2代表分管领导审核，3代表办结")
    private Integer currentLink;
    /**
     * 合同状态，0代表初稿，1代表审核中，2代表执行中，3代表变更中
     */
    @TableLogic(value = "0", delval = "1")
    @TableField(value = "contract_status")
    @ApiModelProperty(value = "合同状态，0代表初稿，1代表审核中，2代表执行中，3代表变更中")
    private Integer contractStatus;
}